package br.com.beethoven.model.service;

import java.util.ArrayList;
import java.util.List;

import br.com.beethoven.data.interfaces.IMusicaDAO;
import br.com.beethoven.data.interfaces.impl.MusicaHibernateDAO;
import br.com.beethoven.exception.BDException;
import br.com.beethoven.model.entidade.Musica;
import br.com.beethoven.model.entidade.vo.CD_VO;
import br.com.beethoven.model.entidade.vo.MusicaVO;

public class ServiceGerenciarMusica {
	
	private IMusicaDAO iMusicaDAO;
	
	public ServiceGerenciarMusica(){
		this.iMusicaDAO = new MusicaHibernateDAO();
	}
	
	public void cadastrar(MusicaVO musicaVO) throws BDException {
		Musica musica = new Musica();
		musica.VO2entity(musicaVO);
		this.iMusicaDAO.addEntity(musica);
	}
	
	public void editar(MusicaVO musicaVO) throws BDException{
		Musica musica = new Musica();
		musica.VO2entity(musicaVO);
		this.iMusicaDAO.updateEntiy(musica);
	}
	
	public void remover(MusicaVO musicaVO) throws BDException{
		Musica musica = new Musica();
		musica.VO2entity(musicaVO);
		this.iMusicaDAO.removeEntity(musica);
	}
	
	public List<MusicaVO> listar() throws BDException{
		List<MusicaVO> lista = new ArrayList<MusicaVO>();
		List<Musica> listaAux = new ArrayList<Musica>();
		listaAux = this.iMusicaDAO.listAll();
		for(Musica musica : listaAux){
			lista.add(musica.entity2VO());
		}
		return lista;
	}

	public boolean validar(CD_VO cd_VO){
		return true;
	}

}
